Everything about The Graphics Interchange Format totally explained
The
Graphics Interchange Format (
GIF) is an
8-bit-per-pixel bitmap image format that was introduced by
CompuServe in 1987 and has since come into widespread usage on the
World Wide Web due to its wide support and portability.
The format uses a palette of up to 256 distinct colors from the 24-bit RGB color space. It also supports
animations and allows a separate palette of 256 colors for each frame. The color limitation makes the GIF format unsuitable for reproducing color photographs and other images with continuous color, but it's well-suited for more simple images such as graphics or logos with solid areas of color.
GIF images are compressed using the
Lempel-Ziv-Welch (LZW)
lossless data compression technique to reduce the file size without degrading the visual quality. This compression technique was patented in 1985. Controversy over the licensing agreement between the patent holder,
Unisys, and CompuServe in 1994 inspired the development of the
Portable Network Graphics (PNG) standard; since then all the relevant patents have expired.
History
CompuServe introduced the GIF format in 1987 to provide a color image format for their file downloading areas, replacing their earlier
run-length encoding (RLE) format, which was black and white only. GIF became popular because it used LZW
data compression, which was more efficient than the run-length encoding that formats such as
PCX and
MacPaint used, and fairly large images could therefore be downloaded in a reasonably short time, even with very slow
modems.
The original version of the GIF format was called
87a. In 1989, CompuServe devised an enhanced version, called
89a, that added support for multiple images in a stream, interlacing and storage of application-specific metadata. The two versions can be distinguished by looking at the first six
bytes of the file, which, when interpreted as
ASCII, read "GIF87a" and "GIF89a", respectively.
GIF was one of the first two image formats commonly used on Web sites, the other being the black and white
XBM.
JPEG came later with the
Mosaic browser.
The GIF89a feature of storing multiple images in one file, accompanied by control data, is used extensively on the Web to produce simple
animations. The optional interlacing feature, which stores image scan lines out of order in such a fashion that even a partially downloaded image was somewhat recognizable, also helped GIF's popularity, as a user could abort the download if it wasn't what was required.
Pronunciation
The creators of the format pronounced GIF with a soft "
g", /ˈdʒɪf/, as in "George". However, many people pronounce GIF with a hard "G", as in a 'gift', reflecting the way it's pronounced in its own acronym (Graphics Interchange Format). According to the creator of the GIF format,
Steve Wilhite, the pronunciation deliberately echoes that of an American peanut butter brand,
Jif, and the employees of CompuServe would often say
"Choosy developers choose GIF", spoofing this brand's television commercials. This pronunciation was also identified by
CompuServe in their documentation of a graphics display program called CompuShow.. Both pronunciations are given as correct by the
Oxford English Dictionary and the
American Heritage Dictionary.
Usage
- GIFs are suitable for sharp-edged line art (such as logos) with a limited number of colors. This takes advantage of the format's lossless compression which preserves very sharp edges (in contrast to JPEG).
- GIFs can also be used to store low-color sprite data for games.
- GIFs are used for small animations and low-resolution film clips.
- In view of the general limitation on the GIF image palette to 256 colors, JPEG is a more commonly used format for digital photographs. JPEGs can save information on more than 16 million different colors and use more aggressive lossy compression which has a less noticeable effect on photographs than it does on images with sharp edges.
- The PNG format is a popular alternative to GIF images since it uses better compression techniques and doesn't have a limit of 256 colors, but PNGs don't support animations. The MNG and APNG formats, both derived from PNG, support animations, but aren't widely used.
Palettes
GIF is palette based: although any
palette selection can be one of millions of shades, the maximum number that can be used in a frame is 256. These are stored in a "palette", a table that associates each palette selection number with a specific
RGB value. The limitation to 256 colors seemed reasonable at the time of GIF's creation because few people could afford the hardware to display more. Simple graphics, line drawings, cartoons, and grey-scale photographs typically need fewer than 256 colors. In addition, one of the colors in the palette can optionally be set as fully transparent. A transparent pixel takes on the color of the pixel in the same positions from the background, which may have been determined by a previous frame of animation.
There exist ways to
dither or diffuse photographs by using pixels of 2 or more different colors to approximate an in-between color, but this transformation inevitably loses some detail. The
algorithms used to select the palette and to perform the dithering vary widely in output quality. Additionally, dithering significantly reduces the image's compressibility and thus works contrary to GIF's main purpose.
In the early days of graphical web browsers, graphics cards with 8-bit buffers (allowing only 256 colors) were common and it was fairly common to make GIF images using the
websafe palette which was based on the common subset of the standard Windows and Macintosh palettes. This ensured predictable display but severely limited the choice of colors. Now that 24-bit graphics cards are the norm, optimized palettes make less sense when creating images, though some web designers still advise the use of the web safe palette.
True color
There are at least two rarely-used methods that can generate a GIF that, if decoded according to the GIF89a standard, will produce an animation that ends with a 24-bit RGB
truecolor image.
GIF89a was designed based on the principle of rendering images (known as frames when used for animation) to a logical, fixed-size screen. Each image could optionally have no delay after it's rendered, and could have its own 256-color palette. Also, each image need not fill the entire logical screen, and the animation can cease after the last frame; it need not begin again. The multi-frame, zero-delay, and unique-palette features, optionally combined with transparency, allow for each image to replace only a
portion of the previous image's pixel data. When used without looping, a more-than-256-color final result can be achieved.
For example, a GIF can be encoded to render as a series of overlapping full-screen images, each image filling in color that wasn't in the previous one. Transparent pixels can be used to preserve colors from previous images.
A similar method that doesn't use transparency is to encode the GIF to render as a series of less-than-full-screen images adjacent to each other, rather than overlapping.
These methods are not widely supported by GIF-generating software, and Web browsers and other image viewers may not contain completely compliant GIF89a implementations, so their ability to display such GIFs accurately may be limited.
Unisys and LZW patent enforcement
In 1977 and 1978,
Jacob Ziv and
Abraham Lempel published a pair of papers on a new class of lossless data-compression algorithms, now collectively referred to as "
LZ77" and "
LZ78". In 1983,
Terry Welch developed a fast variant of LZ78 which was named LZW.
Welch filed a patent application for the LZW method in June 1983. The resulting patent,, granted in December 1985, was assigned to
Sperry Corporation who subsequently merged with
Burroughs Corporation in 1986 and formed
Unisys. LZW became a popular data compression technique and, when the patent was granted, Unisys entered into licensing agreements with over a hundred companies.
The popularity of LZW led
CompuServe to choose it as the compression technique for their GIF format, developed in 1987. At the time, CompuServe were not aware of the patent. Such licenses were not required for website owners or other GIF users who had used licensed software to generate GIFs. Nevertheless, Unisys was the subject of thousands of online attacks and abusive emails from users believing that they were going to be charged $5000 or sued for using GIFs on their websites.. Despite giving free licenses to hundreds of non-profit organizations, schools and governments, Unisys was completely unable to generate any good publicity and continued to be vilified by individuals and organizations such as the
League for Programming Freedom who started the "Burn All GIFs" campaign
The US LZW patent expired on
June 20,
2003. The counterpart patents in the United Kingdom, France, Germany and Italy expired on
June 18,
2004, the Japanese counterpart patents expired on
June 20,
2004 and the counterpart Canadian patent expired on
July 7,
2004. Consequently, while Unisys has further patents and patent applications relating to improvements to the LZW technique,
Although it took time for the PNG format to be supported, new
web browsers support the PNG format and GIF images can usually be replaced by PNG images if desired. However,
Internet Explorer versions 6 and earlier don't support PNG's
alpha channel transparency feature without using Microsoft-specific HTML extensions. Using standard HTML
<img> tags for PNG images in Internet Explorer can produce a look different from that intended. Internet Explorer 7 supports alpha channel transparency without needing extensions. No versions of Internet Explorer, however, support the
gamma feature of PNG images, and the display of these images may be of the wrong tint.
PNG image files are generally smaller than GIF files of the same image quality, due to the more efficient compression techniques used in PNG encoding. PNG files can indeed be much larger than GIF files in situations where a GIF and a PNG file were created from a high-quality master image, as PNG is capable of storing more color depth and transparency information than GIF. However, for identical 8-bit (or lower) image data, PNG-format image files are almost always smaller than the equivalent GIF. Misinformation about PNG efficiency can generally be traced back to poor PNG support in older versions of some image manipulation programs, (for example
Adobe Photoshop didn't optimize PNGs for reduced color palettes by default).
MNG, a variant of PNG that supports animation, reached version 1.0 in
2001, but few applications support it. Animated GIF remains widely used as many applications are capable of creating the files, and it remains the only animated image format capable of being rendered in nearly all modern web browsers without the use of a plug-in. Nevertheless, embedded Flash objects, MPEGs and other video formats are used in place of animated GIFs in many websites. Other approaches, such as individual frames served by
AJAX, or
SVG images may be animated via JavaScript. In
2004, a proposed extension to the PNG format called
APNG was suggested. It was to provide the ability to animate PNG files, while retaining backwards compatibility in decoders that can't understand the animation chunk. Older decoders would simply render the first frame of the animation.
Further Information
Get more info on 'Graphics Interchange Format'.
|
External Link Exchanges
Do you know how hard it is to get a link from a large encyclopaedia? Well we're different and will prove it. To get a link from us just add the following HTML to your site on a relevant page:
<a href="http://graphics_interchange_format.totallyexplained.com">Graphics Interchange Format Totally Explained</a>
Then simply click through this link from your web page. Our crawlers will verify your link, extract the title of your web page and instantly add a link back to it. If you like you can remove the words Totally Explained and embed the link in article text.
As long as your link remains in place, we'll keep our link to you right here. Please play fair - our crawlers are watching. Your site must be closely related to this one's topic. Any kind of spamming, dubious practises or removing the link will result in your link from us being dropped and, potentially, your whole site being banned. |